/**
 * Created by qyy on 2018/9/23.
 */
var socketId = "";
// 位置列表
$(function()
{
    var locationTableOption = createCommonTableOptions();
    locationTableOption.ajax = {
        // url可以直接指定远程的json文件，或是MVC的请求地址 /Controller/Action
        url: "/location/query",
        type: 'POST',
        async:true,

        // 传给服务器的数据，可以添加我们自己的查询参数
        data: function (param)
        {
            param.start = param.start;
            param.offset = param.length;
            switch (param.order[0].column)
            {
                case 1:
                    param.sortPro = "time";
                    break;
            }

            if("asc" == param.order[0].dir)
            {
                param.sortType = 0;
            }
            else if("desc" == param.order[0].dir)
            {
                param.sortType = 1;
            }
            return param;
        },
        //用于处理服务器端返回的数据。 dataSrc是DataTable特有的
        dataFilter: function (myJson)
        {
            var result = JSON.parse(myJson);
            var retStr = JSON.stringify(result.data);
            return  retStr;
        }
    };

    locationTableOption.columns = [
        { "data": "id","orderable": false },
        { "data": "time" ,
            "orderable": true,
            "render": function ( data, type, row, meta )
            {
                if(data > 0)
                    return $.myTime.UnixToDate(data,true)
                else
                    return ""
            }
        },
        { "data": "address","orderable": false
        },
        {"render":function ( data, type, row, meta )
        {

            var id = row.id;
            return "<button type=\"button\"onclick=\"deleteLocation("+ id +"," +meta.row+ ")\">删除</button>";
        }}
    ];

    $("#location-table").DataTable(locationTableOption);

    // websocket
    socketId = getRnd5();
    initWebsocket(socketId);
})


function deleteLocation(id,index)
{
    $.get("/location/delete?id="+id,function(result) {
        var opTable = $("#location-table").DataTable();
        opTable.rows(index).remove().draw(true);
    });
}

// 重写websocket 客户端接受函数
function onWebsockMessage(msg)
{
    var bean = JSON.parse(msg);

    if(bean.type == 2)
    {
        // 如果是有新的位置消息上传，刷新位置列表
         $("#location-table").DataTable().draw(true);
      //  $("#location-table").DataTable().row.add(bean.data).draw();
    }
}